package com.example.idea.entity;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * User类代表系统中的用户实体。
 * 此类用于存储和操作用户信息，不涉及数据库映射。
 */
@Data
@TableName("user")
public class User {

    /**
     * ID  type = IdType.AUTO自增
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 用户名
     */
    @Alias("用户名")
    private String username;

    /**
     * 姓名
     */
    @Alias("姓名")
    private String name;

    /**
     * 头像
     */
    @Alias("头像")
    private String avatar;

    /**
     * 地址
     */
    @Alias("地址")
    private String address;

    /**
     * 电话
     */
    @Alias("电话")
    private String phone;

    /**
     * 邮箱
     */
    @Alias("邮箱")
    private String email;

    /**
     * 密码
     */
    @Alias("密码")
    private String password;

    /**
     * token
     */
    @TableField(exist = false)
    private String token;

    /**
     * 角色
     */
    @Alias("角色")
    private String role;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}